The State pattern allows an object to alter its behavior when its internal state changes. The object will appear to change its class. Perfect for implementing state machines like traffic lights!